Skip to content

feat: 'data retention is over' message across sandbox tabs#474

Draft
huv1k wants to merge 1 commit into
mainfrom
huv1k/sandbox-data-retention
Draft

feat: 'data retention is over' message across sandbox tabs#474
huv1k wants to merge 1 commit into
mainfrom
huv1k/sandbox-data-retention

Conversation

@huv1k

@huv1k huv1k commented Jun 26, 2026

Copy link
Copy Markdown
Member

What

Shows a single, consistent "Data retention is over" message on a sandbox's monitoring / events / logs tabs once that data has aged past its 7-day TTL — replacing empty views and the old ad-hoc, client-side logs check.

Changes

  • models.ts: add `retentionExpired` to the sandbox details model; map it from the backend record (killed) and default `false` for live infra detail.
  • common/data-retention-expired.tsx: new shared message component.
  • monitoring / events / logs views: render the shared component when `retentionExpired` is set. Removes the old client-side `checkIfSandboxStillHasLogs` / `LOG_RETENTION_MS` logic from the logs view.
  • sandbox.ts (details resolver): also flag paused sandboxes whose last pause is older than 7 days (the backend already exposes the pause time via `endAt`/lifecycle `pausedAt`). Resumed/running sandboxes clear the flag automatically; killed sandboxes use the backend flag.
  • Spec sync (`openapi.dashboard-api.yaml`) + regenerated contract types.
CleanShot 2026-06-26 at 14 39 48@2x

Matrix

State Flagged?
killed/stopped ended >7d ago ✅ (backend)
paused >7d ago ✅ (resolver)
running (even if old) ❌ fresh data
recently stopped/paused (<7d) ❌ data still present

Companion

@cla-bot cla-bot Bot added the cla-signed label Jun 26, 2026
@vercel

vercel Bot commented Jun 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
web Ready Ready Preview, Comment Jun 26, 2026 12:39pm

Request Review

Render a single shared message on a sandbox's monitoring/events/logs tabs once
that data has aged past its 7-day TTL, replacing empty views and the old
client-side logs retention check.

- models: add retentionExpired to the sandbox details model + mappers
- common/data-retention-expired.tsx: shared message component
- monitoring/events/logs views: render it when retentionExpired is set
- details resolver: also flag paused sandboxes paused longer than 7d (killed
  sandboxes use the backend flag; running/resumed sandboxes clear it)
- spec sync + regenerated dashboard-api contract types
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant